<HTML>

<HEAD>
<!-- Generated by CppDoc v2.4.1 on June 07, 2008 at 22:48-->

	<META NAME="GENERATOR" Content="CppDoc">
	<TITLE>Nestopia Core API: Nes::Api::Input</TITLE>

</HEAD>

<BODY>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=2 BGCOLOR="#eeeeff">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#eeeeff">    &nbsp;<a href="../../index-overview-summary.html"><B>Overview</B></a>&nbsp;</TD>
  <TD BGCOLOR="#eeeeff">    &nbsp;<a href="project-summary.html"><B>Project</B></a>&nbsp;</TD>
  <TD BGCOLOR="navy"> <FONT COLOR="white">&nbsp;<B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#eeeeff">    &nbsp;<a href="project-tree.html"><B>Tree</B></a>&nbsp;</TD>
  <TD BGCOLOR="#eeeeff">    &nbsp;<a href="../../index-deprecated-list.html"><B>Deprecated</B></a>&nbsp;</TD>
  <TD BGCOLOR="#eeeeff">    &nbsp;<a href="../../index-all.html"><B>Index</B></a>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Nestopia Core API</B></EM>
</TD>
</TR>

<TR>
<TD><FONT SIZE="-2">
  <a href="../../index.html" target="_top"><B>FRAMES</B></a>  &nbsp;
&nbsp;<a href="../api/Nes..Api..Input.html" target="_top"><B>NO FRAMES</B></a></FONT></TD>
</TR>
<TR>
<TD VALIGN="top"><FONT SIZE="-2">
  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL: &nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
api</FONT>
<BR>
Class  Nes::Api::Input</H2>
<PRE>
<code>Base</code>
   |
   +--<B>Nes::Api::Input</B>

</PRE>
<HR>
<DL>
<DT>class <B><a href="../api/Nes..Api.html">Nes::Api</a>::Input</B></DT><dt> extends Base
</DL>

<p>Controller input interface.
<p>

<HR>


<!-- =========== INNER CLASSES, TYPEDEFS, ENUMS =========== -->

<A NAME="inner_defs_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#ccccff">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Inner Classes, Typedefs, and Enums</B></FONT></TD>
</TR>
<TR BGCOLOR="white">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>enum</CODE></FONT></TD>
<TD><B><CODE><a href="../api/Nes..Api..Input..Adapter.html">Nes::Api::Input::Adapter</a></CODE></B>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adapter type.</TD>
</TR>
<TR BGCOLOR="white">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>typedef</CODE></FONT></TD>
<TD><B><CODE><a href="../api/Nes..Api..Input..AdapterCallback.html">Nes::Api::Input::AdapterCallback</a></CODE></B>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adapter event callback prototype.</TD>
</TR>
<TR BGCOLOR="white">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>typedef</CODE></FONT></TD>
<TD><B><CODE><a href="../api/Nes..Api..Input..ControllerCallback.html">Nes::Api::Input::ControllerCallback</a></CODE></B>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Controller event callback prototype.</TD>
</TR>
<TR BGCOLOR="white">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>typedef</CODE></FONT></TD>
<TD><B><CODE><a href="../api/Nes..Api..Input..Controllers.html">Nes::Api::Input::Controllers</a></CODE></B>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Controllers context.</TD>
</TR>
<TR BGCOLOR="white">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>enum</CODE></FONT></TD>
<TD><B><CODE><a href="../api/Nes..Api..Input..Type.html">Nes::Api::Input::Type</a></CODE></B>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Controller type.</TD>
</TR>
</TABLE>
&nbsp;

<!-- =========== FIELD SUMMARY =========== -->

<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#ccccff">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Field Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white">
<TD ALIGN="right" VALIGN="top" WIDTH="1%" NOWRAP><FONT SIZE="-1">
<CODE>&nbsp;static <a href="../api/Nes..Api..Input..AdapterCaller.html">Nes::Api::Input::AdapterCaller</a></CODE></FONT></TD>
<TD><CODE><B><a href="#adapterCallback">adapterCallback</a></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adapter event callback manager.</TD>
</TR>
<TR BGCOLOR="white">
<TD ALIGN="right" VALIGN="top" WIDTH="1%" NOWRAP><FONT SIZE="-1">
<CODE>&nbsp;static <a href="../api/Nes..Api..Input..ControllerCaller.html">Nes::Api::Input::ControllerCaller</a></CODE></FONT></TD>
<TD><CODE><B><a href="#controllerCallback">controllerCallback</a></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Controller event callback manager.</TD>
</TR>
</TABLE>
&nbsp;

<!-- =========== CONSTRUCTOR SUMMARY =========== -->

<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#ccccff">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white">
<TD><CODE><B><a href="#Input(T&)">Input</a></B>( T& instance )</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Interface constructor.</TD>
</TR>
</TABLE>
&nbsp;

<!-- =========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#ccccff">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white">
<TD ALIGN="right" VALIGN="top" WIDTH="1%" NOWRAP><FONT SIZE="-1">
<CODE>&nbsp;Result</CODE></FONT></TD>
<TD><CODE><B><a href="#AutoSelectAdapter()">AutoSelectAdapter</a></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Connects the most suited adapter for a game.</TD>
</TR>
<TR BGCOLOR="white">
<TD ALIGN="right" VALIGN="top" WIDTH="1%" NOWRAP><FONT SIZE="-1">
<CODE>&nbsp;Result</CODE></FONT></TD>
<TD><CODE><B><a href="#AutoSelectController(uint)">AutoSelectController</a></B>( uint port )</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Connects the most suited controller for a game into a port.</TD>
</TR>
<TR BGCOLOR="white">
<TD ALIGN="right" VALIGN="top" WIDTH="1%" NOWRAP><FONT SIZE="-1">
<CODE>&nbsp;Result</CODE></FONT></TD>
<TD><CODE><B><a href="#AutoSelectControllers()">AutoSelectControllers</a></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Connects the most suited controllers for a game into all ports.</TD>
</TR>
<TR BGCOLOR="white">
<TD ALIGN="right" VALIGN="top" WIDTH="1%" NOWRAP><FONT SIZE="-1">
<CODE>&nbsp;Result</CODE></FONT></TD>
<TD><CODE><B><a href="#ConnectAdapter(Adapter)">ConnectAdapter</a></B>( <a href="../api/Nes..Api..Input..Adapter.html">Nes::Api::Input::Adapter</a> type )</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Connects an adapter.</TD>
</TR>
<TR BGCOLOR="white">
<TD ALIGN="right" VALIGN="top" WIDTH="1%" NOWRAP><FONT SIZE="-1">
<CODE>&nbsp;Result</CODE></FONT></TD>
<TD><CODE><B><a href="#ConnectController(uint,Type)">ConnectController</a></B>( uint port, <a href="../api/Nes..Api..Input..Type.html">Nes::Api::Input::Type</a> type )</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Connects a controller to a port.</TD>
</TR>
<TR BGCOLOR="white">
<TD ALIGN="right" VALIGN="top" WIDTH="1%" NOWRAP><FONT SIZE="-1">
<CODE>&nbsp;<a href="../api/Nes..Api..Input..Adapter.html">Nes::Api::Input::Adapter</a></CODE></FONT></TD>
<TD><CODE><B><a href="#GetConnectedAdapter()">GetConnectedAdapter</a></B>() const</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the current connected adapter.</TD>
</TR>
<TR BGCOLOR="white">
<TD ALIGN="right" VALIGN="top" WIDTH="1%" NOWRAP><FONT SIZE="-1">
<CODE>&nbsp;<a href="../api/Nes..Api..Input..Type.html">Nes::Api::Input::Type</a></CODE></FONT></TD>
<TD><CODE><B><a href="#GetConnectedController(uint)">GetConnectedController</a></B>( uint port ) const</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the current connected controller.</TD>
</TR>
<TR BGCOLOR="white">
<TD ALIGN="right" VALIGN="top" WIDTH="1%" NOWRAP><FONT SIZE="-1">
<CODE>&nbsp;bool</CODE></FONT></TD>
<TD><CODE><B><a href="#IsControllerConnected(Type)">IsControllerConnected</a></B>( <a href="../api/Nes..Api..Input..Type.html">Nes::Api::Input::Type</a> type ) const</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Checks if a specific controller is connected.</TD>
</TR>
</TABLE>
&nbsp;

<BR>
<BR>
<!-- ============ Field Detail ========== -->

<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#ccccff">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Field Detail</B></FONT></TD>
</TR>
</TABLE>

<A NAME="adapterCallback"><!-- --></A>
<A NAME="adapterCallback"><!-- --></A>
<H3>adapterCallback</H3>
<PRE>
public static <a href="../api/Nes..Api..Input..AdapterCaller.html">Nes::Api::Input::AdapterCaller</a> <B>adapterCallback</B>;
</PRE>
<DL>
<DD>Adapter event callback manager.
Static object used for adding the user defined callback.
</DD>

</DL>
<HR>

<A NAME="controllerCallback"><!-- --></A>
<A NAME="controllerCallback"><!-- --></A>
<H3>controllerCallback</H3>
<PRE>
public static <a href="../api/Nes..Api..Input..ControllerCaller.html">Nes::Api::Input::ControllerCaller</a> <B>controllerCallback</B>;
</PRE>
<DL>
<DD>Controller event callback manager.
Static object used for adding the user defined callback.
</DD>

</DL>
<HR>

<BR>
<!-- ============ Constructor Detail ========== -->

<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#ccccff">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TD>
</TR>
</TABLE>

<A NAME="Input(T&)"><!-- --></A>
<A NAME="Input"><!-- --></A>
<H3>Input</H3>
<PRE>
public <B>Input</B>( T& instance );
</PRE>
<DL>
<DD>Interface constructor.
</DD>
<DL>
<DT><B>Parameters: </B><DD><code>instance</code> - emulator instance</DD>
</DL>

</DL>
<HR>

<BR>
<!-- ============ Method Detail ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#ccccff">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT></TD>
</TR>
</TABLE>

<A NAME="AutoSelectAdapter()"><!-- --></A>
<A NAME="AutoSelectAdapter"><!-- --></A>
<H3>AutoSelectAdapter</H3>
<PRE>
public Result <B>AutoSelectAdapter</B>() throw();
</PRE>
<DL>
<DD>Connects the most suited adapter for a game.
</DD>

</DL>
<HR>

<A NAME="AutoSelectController(uint)"><!-- --></A>
<A NAME="AutoSelectController"><!-- --></A>
<H3>AutoSelectController</H3>
<PRE>
public Result <B>AutoSelectController</B>( uint port ) throw();
</PRE>
<DL>
<DD>Connects the most suited controller for a game into a port.
</DD>
<DL>
<DT><B>Parameters: </B><DD><code>port</code> - controller port</DD>
<DT><B>Returns: </B><DD>result code</DD>
</DL>

</DL>
<HR>

<A NAME="AutoSelectControllers()"><!-- --></A>
<A NAME="AutoSelectControllers"><!-- --></A>
<H3>AutoSelectControllers</H3>
<PRE>
public Result <B>AutoSelectControllers</B>() throw();
</PRE>
<DL>
<DD>Connects the most suited controllers for a game into all ports.
</DD>
<DL>
<DT><B>Returns: </B><DD>result code</DD>
</DL>

</DL>
<HR>

<A NAME="ConnectAdapter(Adapter)"><!-- --></A>
<A NAME="ConnectAdapter"><!-- --></A>
<H3>ConnectAdapter</H3>
<PRE>
public Result <B>ConnectAdapter</B>( <a href="../api/Nes..Api..Input..Adapter.html">Nes::Api::Input::Adapter</a> type ) throw();
</PRE>
<DL>
<DD>Connects an adapter.
</DD>
<DL>
<DT><B>Parameters: </B><DD><code>type</code> - adapter</DD>
<DT><B>Returns: </B><DD>result code</DD>
</DL>

</DL>
<HR>

<A NAME="ConnectController(uint,Type)"><!-- --></A>
<A NAME="ConnectController"><!-- --></A>
<H3>ConnectController</H3>
<PRE>
public Result <B>ConnectController</B>( uint port, <a href="../api/Nes..Api..Input..Type.html">Nes::Api::Input::Type</a> type ) throw();
</PRE>
<DL>
<DD>Connects a controller to a port.
</DD>
<DL>
<DT><B>Parameters: </B><DD><code>port</code> - port
<DD><code>type</code> - controller</DD>
</DL>

</DL>
<HR>

<A NAME="GetConnectedAdapter()"><!-- --></A>
<A NAME="GetConnectedAdapter"><!-- --></A>
<H3>GetConnectedAdapter</H3>
<PRE>
public <a href="../api/Nes..Api..Input..Adapter.html">Nes::Api::Input::Adapter</a> <B>GetConnectedAdapter</B>() const throw();
</PRE>
<DL>
<DD>Returns the current connected adapter.
</DD>
<DL>
<DT><B>Returns: </B><DD>adapter</DD>
</DL>

</DL>
<HR>

<A NAME="GetConnectedController(uint)"><!-- --></A>
<A NAME="GetConnectedController"><!-- --></A>
<H3>GetConnectedController</H3>
<PRE>
public <a href="../api/Nes..Api..Input..Type.html">Nes::Api::Input::Type</a> <B>GetConnectedController</B>( uint port ) const throw();
</PRE>
<DL>
<DD>Returns the current connected controller.
</DD>
<DL>
<DT><B>Parameters: </B><DD><code>port</code> - port</DD>
<DT><B>Returns: </B><DD>controller</DD>
</DL>

</DL>
<HR>

<A NAME="IsControllerConnected(Type)"><!-- --></A>
<A NAME="IsControllerConnected"><!-- --></A>
<H3>IsControllerConnected</H3>
<PRE>
public bool <B>IsControllerConnected</B>( <a href="../api/Nes..Api..Input..Type.html">Nes::Api::Input::Type</a> type ) const throw();
</PRE>
<DL>
<DD>Checks if a specific controller is connected.
</DD>
<DL>
<DT><B>Parameters: </B><DD><code>type</code> - controller</DD>
<DT><B>Returns: </B><DD>true if connected</DD>
</DL>

</DL>
<HR>

<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=2 BGCOLOR="#eeeeff">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#eeeeff">    &nbsp;<a href="../../index-overview-summary.html"><B>Overview</B></a>&nbsp;</TD>
  <TD BGCOLOR="#eeeeff">    &nbsp;<a href="project-summary.html"><B>Project</B></a>&nbsp;</TD>
  <TD BGCOLOR="navy"> <FONT COLOR="white">&nbsp;<B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#eeeeff">    &nbsp;<a href="project-tree.html"><B>Tree</B></a>&nbsp;</TD>
  <TD BGCOLOR="#eeeeff">    &nbsp;<a href="../../index-deprecated-list.html"><B>Deprecated</B></a>&nbsp;</TD>
  <TD BGCOLOR="#eeeeff">    &nbsp;<a href="../../index-all.html"><B>Index</B></a>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<B>Nestopia Core API</B></EM>
</TD>
</TR>

<TR>
<TD><FONT SIZE="-2">
  <a href="../../index.html" target="_top"><B>FRAMES</B></a>  &nbsp;
&nbsp;<a href="../api/Nes..Api..Input.html" target="_top"><B>NO FRAMES</B></a></FONT></TD>
</TR>
<TR>
<TD VALIGN="top"><FONT SIZE="-2">
  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL: &nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->

<HR>


</BODY>

</HTML>

